package com.ruoyi.system.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 用户对象 user
 * 
 * @author ruoyi
 * @date 2024-09-02
 */
public class User extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    private Long id;

    /** 用户名 */
    @Excel(name = "用户名")
    private String userName;

    /** 密码 */
    @Excel(name = "密码")
    private String password;

    /** 登录方式：0为账密登录 1为手机验证码登录 2为第三方登录  */
    @Excel(name = "登录方式：0为账密登录 1为手机验证码登录 2为第三方登录 ")
    private String loginMethod;

    /** 用户手机号 */
    @Excel(name = "用户手机号")
    private Long phoneNum;

    /** 用户邮箱 */
    @Excel(name = "用户邮箱")
    private String userEmail;

    /** 用户微信昵称 */
    @Excel(name = "用户微信昵称")
    private String wechatName;

    /** 用户微信头像 */
    @Excel(name = "用户微信头像")
    private String wechatProfilePhoto;

    /** 用户微信登录openId */
    @Excel(name = "用户微信登录openId")
    private String wechatOpenId;

    /** 用户头像 */
    @Excel(name = "用户头像")
    private String userPhoto;

    /** 用户类型：0为普通用户 1为vip用户  */
    @Excel(name = "用户类型：0为普通用户 1为vip用户 ")
    private Integer user_role;

    /** 用户等级 */
    @Excel(name = "用户等级")
    private Integer userLevel;

    /** 用户钱包id */
    @Excel(name = "用户钱包id")
    private Long walletId;

    /** 个人简介 */
    @Excel(name = "个人简介")
    private String userProfile;

    /** 最近一次登录时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "最近一次登录时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date lastLoginTime;

    /** 最近一次登录ip */
    @Excel(name = "最近一次登录ip")
    private String lastLoginIp;

    /** 创建者id */
    @Excel(name = "创建者id")
    private String creatorId;

    /** 修改者id */
    @Excel(name = "修改者id")
    private String menderId;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setUserName(String userName) 
    {
        this.userName = userName;
    }

    public String getUserName() 
    {
        return userName;
    }
    public void setPassword(String password) 
    {
        this.password = password;
    }

    public String getPassword() 
    {
        return password;
    }
    public void setLoginMethod(String loginMethod) 
    {
        this.loginMethod = loginMethod;
    }

    public String getLoginMethod() 
    {
        return loginMethod;
    }
    public void setPhoneNum(Long phoneNum) 
    {
        this.phoneNum = phoneNum;
    }

    public Long getPhoneNum() 
    {
        return phoneNum;
    }
    public void setUserEmail(String userEmail) 
    {
        this.userEmail = userEmail;
    }

    public String getUserEmail() 
    {
        return userEmail;
    }
    public void setWechatName(String wechatName) 
    {
        this.wechatName = wechatName;
    }

    public String getWechatName() 
    {
        return wechatName;
    }
    public void setWechatProfilePhoto(String wechatProfilePhoto) 
    {
        this.wechatProfilePhoto = wechatProfilePhoto;
    }

    public String getWechatProfilePhoto() 
    {
        return wechatProfilePhoto;
    }
    public void setWechatOpenId(String wechatOpenId) 
    {
        this.wechatOpenId = wechatOpenId;
    }

    public String getWechatOpenId() 
    {
        return wechatOpenId;
    }
    public void setUserPhoto(String userPhoto) 
    {
        this.userPhoto = userPhoto;
    }

    public String getUserPhoto() 
    {
        return userPhoto;
    }
    public void setUser_role(Integer user_role)
    {
        this.user_role = user_role;
    }

    public Integer getUser_role()
    {
        return user_role;
    }
    public void setUserLevel(Integer userLevel) 
    {
        this.userLevel = userLevel;
    }

    public Integer getUserLevel() 
    {
        return userLevel;
    }
    public void setWalletId(Long walletId) 
    {
        this.walletId = walletId;
    }

    public Long getWalletId() 
    {
        return walletId;
    }
    public void setUserProfile(String userProfile) 
    {
        this.userProfile = userProfile;
    }

    public String getUserProfile() 
    {
        return userProfile;
    }
    public void setLastLoginTime(Date lastLoginTime) 
    {
        this.lastLoginTime = lastLoginTime;
    }

    public Date getLastLoginTime() 
    {
        return lastLoginTime;
    }
    public void setLastLoginIp(String lastLoginIp) 
    {
        this.lastLoginIp = lastLoginIp;
    }

    public String getLastLoginIp() 
    {
        return lastLoginIp;
    }
    public void setCreatorId(String creatorId) 
    {
        this.creatorId = creatorId;
    }

    public String getCreatorId() 
    {
        return creatorId;
    }
    public void setMenderId(String menderId) 
    {
        this.menderId = menderId;
    }

    public String getMenderId() 
    {
        return menderId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("userName", getUserName())
            .append("password", getPassword())
            .append("loginMethod", getLoginMethod())
            .append("phoneNum", getPhoneNum())
            .append("userEmail", getUserEmail())
            .append("wechatName", getWechatName())
            .append("wechatProfilePhoto", getWechatProfilePhoto())
            .append("wechatOpenId", getWechatOpenId())
            .append("userPhoto", getUserPhoto())
            .append("user_role", getUser_role())
            .append("userLevel", getUserLevel())
            .append("walletId", getWalletId())
            .append("userProfile", getUserProfile())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("lastLoginTime", getLastLoginTime())
            .append("lastLoginIp", getLastLoginIp())
            .append("creatorId", getCreatorId())
            .append("menderId", getMenderId())
            .toString();
    }
}
